package utiles;

public class TresImpl<E> implements Tres<E> {
	private E primero;
	private E segundo;
	private E tercero;
	
	public TresImpl(E p1, E p2, E p3){
		primero = p1;
		segundo = p2;
		tercero = p3;
	}
	
	public E get1() {
		return primero;
	}

	public E get2() {
		return segundo;
	}
	
	public E get3() {
		return tercero;
	}
	
	@SuppressWarnings("unchecked")
	public boolean equals(Object p){
		boolean b = false;
		if(p instanceof Tres){
			Tres<E> p1 = (Tres<E>)p;
			b = primero.equals(p1.get1()) &&
				segundo.equals(p1.get2()) &&
				tercero.equals(p1.get3());
		}
		return b;
	}
	
	public int hashCode(){
		return primero.hashCode()+7*segundo.hashCode()+ 31*tercero.hashCode();
	}
	
	public String toString(){
		String s = "("+get1()+","+get2()+","+get3()+")";
		return s;
	}
	
}
